// 引入第三方包 express
var express = require('express');
const { code } = require('statuses');

//实例化express
var app = express()

//设置静态资源管理文件夹
//app.use:注册中间件
//express.static() 是express设置的一个静态资源托管的中间件
app.use(express.static('static'))
//设置监听
app.listen(8080, () => {
  console.log('服务端运行在:http://localhost:8080');
})

 //定义返回给客户端的数据
 var arr = [
  { email: '3181857635@qq.com', name: '张伟', phone: '17452103690', pass: '1234', ingroup: '编辑组', isadmin: true, status: true },
  { email: '2381857635@qq.com', name: '阿伟', phone: '16752103690', pass: '1234', ingroup: '刚吧得组', isadmin: true, status: false },
  { email: '3256185765@qq.com', name: '老王', phone: '1362103690', pass: '1234', ingroup: '编辑组', isadmin: false, status: true },
  { email: '2381857635@qq.com', name: 'Mr.wang', phone: '16652103690', pass: '1234', ingroup: '刚吧得组', isadmin: true, status: false },
]


// 对于post请求，需要在所有接口前设置处理post请求的中间件
app.use(express.json())
app.use(express.urlencoded({ extended: false }))


 

//设置接口
//有两个参数，请求的地址，以/开头,起名为list，意为获取用户列表的接口
//第二个参数设置成回调函数，为请求处理器，用来处理前端的请求

app.get('/user/list', (req, res) => {

  //回调函数有两个参数req和res
  //req：请求对象，包含了和本次请求相关的所有信息(请求地址，请求方式，请求的参数)
  //res：响应对象，可以借助res向客户端(浏览器)返回信息(字符串，json格式数据，网页)

  console.log('收到了来自客户端的请求');

  //获取get类型请求的参数 req.quary
  //如果前端发送的请求中包含参数，则需要用到req.query属性
  console.log(req.query);
  console.log(req.query.page);
  //为了更方便的拿到值，对对象进行结构

  let page = req.query.page
  let count = req.query.count
  console.log(page, count);
  
  //进行分页，通过slice Api进行选取
  var newarr=arr.slice((page-1)*count,page*count)

  //返回数据，是一个对象
  res.send({ code: 420, msg: '请求很成功' ,list:newarr})
})

//模糊搜索
app.get('/user/search',(req,res)=>{
  //接收参数
  var { searchkey }=req.query
  //根据参数，从name属性中过滤
  var newarr=arr.filter((item)=>{
    //请求的数据中是否包含该字符
     return item.name.includes(searchkey)
  })
  res.send({code:200,msg:'请求成功',list:newarr})
})


// app.post('/user/login', (req, res) => {
//   console.log('收到了来自客户端的请求');
//   //进行结构
//   //对于携带参数的post请求，用req.body接收
//   let name = req.body.name
//   console.log(name);
//   res.send({ code: 200, msg: '请求成功' })
// })

//登录接口
app.post('/user/login',(req,res)=>{
  //接收参数
  var {phone,pass}=req.body
  console.log('收到了来自客户端的请求');
  console.log(phone,pass);
  var i=arr.findIndex((item,index)=>{
    return item.phone==phone&&item.pass==pass
  })
  if(i!=-1){
    res.send({code:200,msg:'登陆成功',userinfo:arr[i],token:''})
  }else{
    res.send({code:400,msg:'登录失败'})
  }
})


//注册接口


// app.put()
// app.delete()
